home *** CD-ROM | disk | FTP | other *** search
- FrenKeys:Start
- New Key
- Win:Add ("What Key?", 5, 15, 15, 50)
- For French accents, use normal punctuation
- characters in front of letters for these
- accents:
-
- ' Accent Ague 'e = Ç
- ` Accent Grave `a = Ö
- , Cedille ,c = á
- ^ Circumflex ^o = ì
- : Umlaut :U = ö
- << Quotes << = Æ
- {}
- Event:Add ("FrenKeys","Key",Here) | And use Frenkeys
- Win:Msg ("Press Esc to Quit")
-
- While (Kbd:Got!="Esc_Key")
- Str:Put ("Press a Key: ")
- Key = Ok
- While Key = Ok
- Key = Kbd:Get ("Big")
- Str:PutLine ('That was the "' + Key + '".')
- Jorf:Exit
-
- FrenKeys:'_key
- If Mem:Ptr->LastKey
- Return (Null)
- Mem:Ptr->LastKey = "'"
- Return (Ok)
-
- FrenKeys:,_key
- If Mem:Ptr->LastKey
- Return (Null)
- Mem:Ptr->LastKey = ","
- Return (Ok)
-
- FrenKeys::_key
- If Mem:Ptr->LastKey
- Return (Null)
- Mem:Ptr->LastKey = ":"
- Return (Ok)
-
- FrenKeys:<_key
- If Mem:Ptr->LastKey
- Return (Null)
- Mem:Ptr->LastKey = "<"
- Return (Ok)
-
- FrenKeys:>_key
- If Mem:Ptr->LastKey
- Return (Null)
- Mem:Ptr->LastKey = ">"
- Return (Ok)
-
- FrenKeys:^_key
- If Mem:Ptr->LastKey
- Return (Null)
- Mem:Ptr->LastKey = "^"
- Return (Ok)
-
- FrenKeys:`_key
- If Mem:Ptr->LastKey
- Return (Null)
- Mem:Ptr->LastKey = "`"
- Return (Ok)
-
- FrenKeys:Else (Key)
- New (DoubleKey)
- If (Mem:Ptr->LastKey)
- DoubleKey = Mem:Ptr->LastKey + Str:At (Key,1,1)
- Mem:Ptr->LastKey = Null
-
- Switch DoubleKey
- Case "`A"
- Return "Ö_key"
- Case "'A"
- Return "†_key"
- Case "^A"
- Return "É_key"
- Case ":A"
- If To:Ascii (Key) < 97
- Return "é_key"
- Return "Ñ_key"
- Case ',C'
- If To:Ascii (Key) < 97
- Return "Ä_Key"
- Return "á_Key"
- Case "`E"
- Return "ä_key"
- Case "'E"
- If To:Ascii (Key) < 97
- Return "ê_key"
- Return ("Ç_key")
- Case "^E"
- Return "à_key"
- Case ":E"
- Return "â_key"
- Case "`I"
- Return "ç_key"
- Case "'I"
- Return "°_key"
- Case "^I"
- Return "å_key"
- Case ":I"
- Return "ã_key"
- Case "`O"
- Return "ï_key"
- Case "'O"
- Return "¢_key"
- Case "^O"
- Return "ì_key"
- Case ":O"
- If To:Ascii (Key) < 97
- Return "ô_key"
- Return "î_key"
- Case "`U"
- Return "ó_key"
- Case "'U"
- Return "£_key"
- Case "^U"
- Return "ñ_key"
- Case ":U"
- If To:Ascii (Key) < 97
- Return "ö_key"
- Return "Å_key"
- Case "<<"
- Return "Æ_key"
- Case ">>"
- Return "Ø_key"
- Kbd:Put (Key)
- Return (Str:At (DoubleKey,1,1) + "_key")
- Return (Key)
-
-